// ajax.js

// 引入 uni-ajax 模块
import ajax from '@/uni_modules/u-ajax'
import {
	useUserStore
} from '@/stores/user.js'

// 创建请求实例
const instance = ajax.create({
	// 初始配置
	baseURL: 'https://api-hmugo-web.itheima.net/api/public/v1'
})

// 添加请求拦截器
instance.interceptors.request.use(
	config => {
		uni.showLoading({
			title: '请求中...',
			mask: true // 避免没有数据时候，用户点击页面中元素
		})
		// 在发送请求前做些什么
		const store = useUserStore()
		if (store.token) {
			config.header.Authorization = store.token
		}
		return config
	},
	error => {
		// 对请求错误做些什么
		return Promise.reject(error)
	}
)

// 添加响应拦截器
instance.interceptors.response.use(
	response => {
		// 对响应数据做些什么
		// 请求成功或失败都关闭loading
		uni.hideLoading()
		// 处理返回数据
		return {
			msg: response.data.meta,
			data: response.data.message
		}
	},
	error => {
		// 对响应错误做些什么
		// 请求成功或失败都关闭loading
		uni.hideLoading()
		return Promise.reject(error)
	}
)

// 导出 create 创建后的实例
export default instance